package td3;

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;

import java.util.StringTokenizer;

public class Recherche {

	private String mot;
	private String nomFichier;
	private ArrayList<Integer> listeOccurence;
	private ArrayList<String> texte;

	public Recherche(String mot, String nomFichier) {
		this.mot = mot;
		this.nomFichier = nomFichier;
		listeOccurence = new ArrayList<Integer>();
		texte = new ArrayList<String>();

	}

	public void buffer() {
		texte.clear();
		try {
			BufferedReader fichier;
			String ligne;
			fichier = new BufferedReader(new FileReader(nomFichier));

			while ((ligne = fichier.readLine()) != null) {
				texte.add(ligne);
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();

		}

	}

	public void recherchemot() {
		buffer();
		listeOccurence.clear();
		try {
			Integer occurencemot;

		for(String ligne : texte) {
				occurencemot = 0;
				StringTokenizer tok = new StringTokenizer(ligne, " ");
				int nt = tok.countTokens();
				for (int i = 0; i < nt; i++) {
					if (tok.nextToken().equals(mot))
						occurencemot++;
				}
				listeOccurence.add(occurencemot);

			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public void affichage() {
		int total = 0;
		for (int i = 0; i < texte.size(); i++) {
			if (listeOccurence.get(i) != 0) {
				System.out.println("il y a " + listeOccurence.get(i) + " fois le mot "
						+ mot + "  a la ligne " + (i+1));
			}
			total += listeOccurence.get(i);
		}
		System.out.println("il y a " + total + " fois le mot " + mot
				+ " dans le texte");

	}

	public String getMot() {
		return mot;
	}

	public void setMot(String mot) {
		this.mot = mot;
	}


}
